//获取所有学生信息
function getStudentAll() {
    //发送ajax请求
    $.ajax({
        url: "http://localhost/Dorm%20Management/server/absent.php",
        success(msg) {
            //将所有的学生信息存储到storage里面
            sessionStorage.setItem("studentInfo", msg)
            //将数据转换成对象,获取前10条
            msg = JSON.parse(msg).slice(0, 10)
            //将前10条数据渲染到页面中
            renderStudentInfo(msg);
            //第一页将页面打开,存储当前页为第一页
            sessionStorage.setItem("pageCurrent", 1)
        }
    })
}
getStudentAll();

//这个函数用于渲染页面
function renderStudentInfo(msg) {
    $("#stbody")[0].innerHTML = "";
    msg.forEach(item => {
        let str = `
            <tr>
                <td>${item.sid}</td>
                <td>${item.sname}</td>
                <td>${item.gender}</td>
                <td>${item.clazz}</td>
                <td>${item.building}</td>
                <td>${item.roomid}</td>
                <td>${item.studentnum}</td>
                <td>
                    <button data-bs-toggle="modal" data-bs-target="#myModalEdit" class='btn btn-warning btn-sm' data-edit='edit' id="${item.sid}">修改</button>
                    <button class="btn btn-danger btn-sm" data-del='del' id="${item.sid}">删除</button>
                </td>
            </tr>
        `
        //转换成JS对象
        $("#stbody")[0].innerHTML += str;
    })
}


//删除操作
$("#stbody").click(function (e) {
    //处理兼容性
    e = e || window.event
    if (e.target.dataset.del == 'del') {
        //防止误删
        const flag = window.confirm("您啊,确定要删除吗?")
        if (flag) {
            //确定删除
            $.ajax({
                url: "http://localhost/Dorm%20Management/server/absentDelete.php",
                data: { id: e.target.id },
                success() {
                    location.reload();
                }
            })
        }

    }

    if (e.target.dataset.edit == 'edit') {
        //发送ajax,渲染学生数据
        $.ajax({
            url: "http://localhost/Dorm%20Management/server/absentOne.php",
            data: { id: e.target.id },
            success(msg1) {
                //将这个学生信息渲染到页面当中
                msg1 = JSON.parse(msg1)
                $("#updatename").val(msg1.sname);
                $("#updateage").val(msg1.sage);
                $("#updateID").val(msg1.sid);
                //班级数据,性别
                if (msg1.sgender == '男') {
                    $(".updatesex")[0].checked = true;
                } else {
                    $(".updatesex")[1].checked = true;
                }

                //发送ajax,获取班级信息,渲染班级数据
                $.ajax({
                    url: "http://localhost/Dorm%20Management/server/absentAll.php",
                    success(msg) {
                        //将数据存储到storage
                        sessionStorage.setItem("clazzInfo", msg)
                        //将班级数据渲染到班级的表单当中
                        msg = JSON.parse(msg)
                        //渲染页面
                        $("#updateclazz").html("<option>请选择</option>");
                        //学生的班级ID
                        let str = ``
                        msg.forEach(item => {
                            if (msg1.clazzId == item.cid) {
                                str += `<option selected value="${item.cid}">${item.cname}</option>`
                            } else {
                                str += `<option value="${item.cid}">${item.cname}</option>`
                            }
                            $("#updateclazz").html(str)
                        })
                    }
                })
            }
        })
    }
})

//获取班级数据
// function getClazzInfo() {
//     $.ajax({
//         url: "http://localhost/management/Dorm%20Management/server/clazzQueryAll.php",
//         success(msg) {
//             sessionStorage.setItem("clazzInfo", msg)
//             //渲染到模态框
//             msg = JSON.parse(msg)
//             let str = '<option>请选择</option>'
//             msg.forEach(item => {
//                 str += `
//                     <option value="${item.cid}">${item.cname}</option>
//                 `
//                 $("#userclazz").html(str);
//             })
//         }
//     })
// }

function addStudentInfo() {
    // 获取学生信息
    const username = $("#username").val()
    const userage = $("#userage").val()
    const userclazz = $("#userclazz").val()
    const ssex = $(".ssex");
    let gender = ''
    if (ssex[0].checked == true) {
        gender = '男'
    } else {
        gender = '女'
    }
    if (!(userage && username && userclazz)) {
        return alert("请输入完整的数据!")
    }///2
    $.ajax({
        type: "POST",
        url: "http://localhost/management/Dorm%20Management/server/absentAdd.php",
        data: { sname: username, sgender: gender, sage: userage, clazzid: userclazz },
        success() {
        }
    })
}

/* 修改学生信息 */
function ok() {
    // 收集数据
    const username = $("#updatename").val()
    const userage = $("#updateage").val()
    const userclazz = $("#updateclazz").val()
    const ssex = $(".updatesex");
    const id = $("#updateID").val();
    let gender = ''
    if (ssex[0].checked == true) {
        gender = '男'
    } else {
        gender = '女'
    }
    if (!(userage && username && userclazz)) {
        return alert("请输入完整的数据!")
    }
    //发送ajax
    $.ajax({
        type: "POST",
        url: "http://localhost/Dorm%20Management/server/absentUpdate.php",
        data: { username, gender, age: userage, clazzid: userclazz, id },
        success() {
            location.reload();
        }
    })
}

// 首页
function first() {
    // sessStorage里面存储的pageCurrent = 1
    sessionStorage.setItem("pageCurrent", 1)
    // 从storage里面获取所有的学生数据,渲染前10条
    let studentInfo = sessionStorage.getItem("studentInfo")
    // 将JSON数据转换成对象
    studentInfo = JSON.parse(studentInfo)
    //获取前10条数据,准备渲染页面
    studentInfo = studentInfo.slice(0, 10)
    //调用函数,渲染页面
    renderStudentInfo(studentInfo);
}

//实现尾页

function last() {
    // 获取所有的学生数据
    let studentInfo = sessionStorage.getItem("studentInfo")
    // 计算总共有多少页
    studentInfo = JSON.parse(studentInfo)
    const pageCurrent = Math.ceil(studentInfo.length / 10)
    // 将总共的页存储到storage里面
    sessionStorage.setItem("pageCurrent", pageCurrent)
    // 获取后10条数据,准备渲染页面
    //将最后一页的数据计算出来
    if (studentInfo.length % 10 != 0) {
        studentInfo = studentInfo.slice(Math.floor(studentInfo.length / 10) * 10, studentInfo.length)
    } else {
        studentInfo = studentInfo.slice(Math.floor(studentInfo.length / 10 - 1) * 10, studentInfo.length)
    }
    //渲染页面
    renderStudentInfo(studentInfo)
}

// 上一页
function up() {
    // 1. 获取当前页
    let pageCurrent = +sessionStorage.getItem("pageCurrent")
    // 2. 当前页-1 不能小于1,如果小于,那么就等于1
    pageCurrent = pageCurrent - 1
    if (pageCurrent <= 1) {
        pageCurrent = 1;
    } else {
    }
    //存储当前页
    sessionStorage.setItem("pageCurrent", pageCurrent)
    //获取上一页的数据
    let studentInfo = sessionStorage.getItem("studentInfo")
    //将JSON转换成对象
    studentInfo = JSON.parse(studentInfo)
    studentInfo = studentInfo.slice((pageCurrent - 1) * 10, pageCurrent * 10)
    console.log(studentInfo);
    //渲染数据
    renderStudentInfo(studentInfo)
}

// 下一页
function down() {
    // 1. 获取当前页
    let pageCurrent = +sessionStorage.getItem("pageCurrent")
    pageCurrent = pageCurrent + 1
    //获取所有的学生信息
    let studentInfo = JSON.parse(sessionStorage.getItem("studentInfo"))
    // 2. 计算最后一页
    let lastPage = Math.ceil(studentInfo.length / 10)
    // 当前页+1,当前页不能大于最后一页
    if (pageCurrent > lastPage) {
        pageCurrent = lastPage
    }
    //存储当前页
    sessionStorage.setItem("pageCurrent", pageCurrent)
    // 获取当前页的数据
    studentInfo = studentInfo.slice((pageCurrent - 1) * 10, pageCurrent * 10)
    //渲染学生信息
    renderStudentInfo(studentInfo)
}

// 查询男女
function getSex(gender) {
    $.ajax({
        url: "http://localhost/Dorm%20Management/server/absentQuqeySex.php",
        data: { sex: gender },
        success(msg) {
            //将数据存储到Storage里面
            sessionStorage.setItem("studentInfo", msg)
            //将msg转化对象
            let studentInfo = JSON.parse(msg)
            //获取前10条数据
            studentInfo = studentInfo.slice(0, 10)
            //当前页是第一页
            sessionStorage.setItem("pageCurrent", 1)
            //渲染数据
            renderStudentInfo(studentInfo)
        }
    })
}

// 查询名字
function queryLikeName() {

    // 获取用户输入的名字
    const likeName = $("#likeName").val()
    // 非空判断
    if (likeName.trim().length == 0) {
        return alert("请输入名字")
    }
    // 发送ajax,获取数据
    $.ajax({
        url: "http://localhost/Dorm%20Management/server/absentQueryLikeName.php",
        data: { sname: likeName },
        success(msg) {
            if (msg == '[]') {
                alert("查无此人!")
                $("#likeName").val("")
            } else {
                //将数据存储到Storage里面
                sessionStorage.setItem("studentInfo", msg)
                //将msg转化对象
                let studentInfo = JSON.parse(msg)
                //获取前10条数据
                studentInfo = studentInfo.slice(0, 10)
                //当前页是第一页
                sessionStorage.setItem("pageCurrent", 1)
                //渲染数据
                renderStudentInfo(studentInfo)
            }
        }
    })
}